package com.citcc4.traffic.data.domain.user;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class UserMessageEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer pageNo = 1;

    protected Integer startRow;

    protected Integer pageSize = 10;

    protected String fields;

    public UserMessageEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPageNo(Integer pageNo) {
        this.pageNo=pageNo;
        this.startRow = (pageNo-1)*this.pageSize;
    }

    public Integer getPageNo() {
        return pageNo;
    }

    public void setStartRow(Integer startRow) {
        this.startRow=startRow;
    }

    public Integer getStartRow() {
        return startRow;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize=pageSize;
        this.startRow = (pageNo-1)*this.pageSize;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setFields(String fields) {
        this.fields=fields;
    }

    public String getFields() {
        return fields;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andUIdIsNull() {
            addCriterion("U_ID is null");
            return (Criteria) this;
        }

        public Criteria andUIdIsNotNull() {
            addCriterion("U_ID is not null");
            return (Criteria) this;
        }

        public Criteria andUIdEqualTo(String value) {
            addCriterion("U_ID =", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotEqualTo(String value) {
            addCriterion("U_ID <>", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThan(String value) {
            addCriterion("U_ID >", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThanOrEqualTo(String value) {
            addCriterion("U_ID >=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThan(String value) {
            addCriterion("U_ID <", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThanOrEqualTo(String value) {
            addCriterion("U_ID <=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLike(String value) {
            addCriterion("U_ID like", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotLike(String value) {
            addCriterion("U_ID not like", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdIn(List<String> values) {
            addCriterion("U_ID in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotIn(List<String> values) {
            addCriterion("U_ID not in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdBetween(String value1, String value2) {
            addCriterion("U_ID between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotBetween(String value1, String value2) {
            addCriterion("U_ID not between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andCeratorIsNull() {
            addCriterion("CERATOR is null");
            return (Criteria) this;
        }

        public Criteria andCeratorIsNotNull() {
            addCriterion("CERATOR is not null");
            return (Criteria) this;
        }

        public Criteria andCeratorEqualTo(String value) {
            addCriterion("CERATOR =", value, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorNotEqualTo(String value) {
            addCriterion("CERATOR <>", value, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorGreaterThan(String value) {
            addCriterion("CERATOR >", value, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorGreaterThanOrEqualTo(String value) {
            addCriterion("CERATOR >=", value, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorLessThan(String value) {
            addCriterion("CERATOR <", value, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorLessThanOrEqualTo(String value) {
            addCriterion("CERATOR <=", value, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorLike(String value) {
            addCriterion("CERATOR like", value, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorNotLike(String value) {
            addCriterion("CERATOR not like", value, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorIn(List<String> values) {
            addCriterion("CERATOR in", values, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorNotIn(List<String> values) {
            addCriterion("CERATOR not in", values, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorBetween(String value1, String value2) {
            addCriterion("CERATOR between", value1, value2, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratorNotBetween(String value1, String value2) {
            addCriterion("CERATOR not between", value1, value2, "cerator");
            return (Criteria) this;
        }

        public Criteria andCeratedateIsNull() {
            addCriterion("CERATEDATE is null");
            return (Criteria) this;
        }

        public Criteria andCeratedateIsNotNull() {
            addCriterion("CERATEDATE is not null");
            return (Criteria) this;
        }

        public Criteria andCeratedateEqualTo(Date value) {
            addCriterionForJDBCDate("CERATEDATE =", value, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateNotEqualTo(Date value) {
            addCriterionForJDBCDate("CERATEDATE <>", value, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateGreaterThan(Date value) {
            addCriterionForJDBCDate("CERATEDATE >", value, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CERATEDATE >=", value, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateLessThan(Date value) {
            addCriterionForJDBCDate("CERATEDATE <", value, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CERATEDATE <=", value, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateIn(List<Date> values) {
            addCriterionForJDBCDate("CERATEDATE in", values, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateNotIn(List<Date> values) {
            addCriterionForJDBCDate("CERATEDATE not in", values, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CERATEDATE between", value1, value2, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andCeratedateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CERATEDATE not between", value1, value2, "ceratedate");
            return (Criteria) this;
        }

        public Criteria andModifierIsNull() {
            addCriterion("MODIFIER is null");
            return (Criteria) this;
        }

        public Criteria andModifierIsNotNull() {
            addCriterion("MODIFIER is not null");
            return (Criteria) this;
        }

        public Criteria andModifierEqualTo(String value) {
            addCriterion("MODIFIER =", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotEqualTo(String value) {
            addCriterion("MODIFIER <>", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThan(String value) {
            addCriterion("MODIFIER >", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThanOrEqualTo(String value) {
            addCriterion("MODIFIER >=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThan(String value) {
            addCriterion("MODIFIER <", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThanOrEqualTo(String value) {
            addCriterion("MODIFIER <=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLike(String value) {
            addCriterion("MODIFIER like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotLike(String value) {
            addCriterion("MODIFIER not like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierIn(List<String> values) {
            addCriterion("MODIFIER in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotIn(List<String> values) {
            addCriterion("MODIFIER not in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierBetween(String value1, String value2) {
            addCriterion("MODIFIER between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotBetween(String value1, String value2) {
            addCriterion("MODIFIER not between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andUpdatedateIsNull() {
            addCriterion("UPDATEDATE is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedateIsNotNull() {
            addCriterion("UPDATEDATE is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedateEqualTo(Date value) {
            addCriterionForJDBCDate("UPDATEDATE =", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateNotEqualTo(Date value) {
            addCriterionForJDBCDate("UPDATEDATE <>", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateGreaterThan(Date value) {
            addCriterionForJDBCDate("UPDATEDATE >", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("UPDATEDATE >=", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateLessThan(Date value) {
            addCriterionForJDBCDate("UPDATEDATE <", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("UPDATEDATE <=", value, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateIn(List<Date> values) {
            addCriterionForJDBCDate("UPDATEDATE in", values, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateNotIn(List<Date> values) {
            addCriterionForJDBCDate("UPDATEDATE not in", values, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("UPDATEDATE between", value1, value2, "updatedate");
            return (Criteria) this;
        }

        public Criteria andUpdatedateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("UPDATEDATE not between", value1, value2, "updatedate");
            return (Criteria) this;
        }

        public Criteria andDelflagIsNull() {
            addCriterion("DELFLAG is null");
            return (Criteria) this;
        }

        public Criteria andDelflagIsNotNull() {
            addCriterion("DELFLAG is not null");
            return (Criteria) this;
        }

        public Criteria andDelflagEqualTo(String value) {
            addCriterion("DELFLAG =", value, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagNotEqualTo(String value) {
            addCriterion("DELFLAG <>", value, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagGreaterThan(String value) {
            addCriterion("DELFLAG >", value, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagGreaterThanOrEqualTo(String value) {
            addCriterion("DELFLAG >=", value, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagLessThan(String value) {
            addCriterion("DELFLAG <", value, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagLessThanOrEqualTo(String value) {
            addCriterion("DELFLAG <=", value, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagLike(String value) {
            addCriterion("DELFLAG like", value, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagNotLike(String value) {
            addCriterion("DELFLAG not like", value, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagIn(List<String> values) {
            addCriterion("DELFLAG in", values, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagNotIn(List<String> values) {
            addCriterion("DELFLAG not in", values, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagBetween(String value1, String value2) {
            addCriterion("DELFLAG between", value1, value2, "delflag");
            return (Criteria) this;
        }

        public Criteria andDelflagNotBetween(String value1, String value2) {
            addCriterion("DELFLAG not between", value1, value2, "delflag");
            return (Criteria) this;
        }

        public Criteria andVerifydataIsNull() {
            addCriterion("VERIFYDATA is null");
            return (Criteria) this;
        }

        public Criteria andVerifydataIsNotNull() {
            addCriterion("VERIFYDATA is not null");
            return (Criteria) this;
        }

        public Criteria andVerifydataEqualTo(Date value) {
            addCriterion("VERIFYDATA =", value, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataNotEqualTo(Date value) {
            addCriterion("VERIFYDATA <>", value, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataGreaterThan(Date value) {
            addCriterion("VERIFYDATA >", value, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataGreaterThanOrEqualTo(Date value) {
            addCriterion("VERIFYDATA >=", value, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataLessThan(Date value) {
            addCriterion("VERIFYDATA <", value, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataLessThanOrEqualTo(Date value) {
            addCriterion("VERIFYDATA <=", value, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataIn(List<Date> values) {
            addCriterion("VERIFYDATA in", values, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataNotIn(List<Date> values) {
            addCriterion("VERIFYDATA not in", values, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataBetween(Date value1, Date value2) {
            addCriterion("VERIFYDATA between", value1, value2, "verifydata");
            return (Criteria) this;
        }

        public Criteria andVerifydataNotBetween(Date value1, Date value2) {
            addCriterion("VERIFYDATA not between", value1, value2, "verifydata");
            return (Criteria) this;
        }

        public Criteria andOauthstateIsNull() {
            addCriterion("OAUTHSTATE is null");
            return (Criteria) this;
        }

        public Criteria andOauthstateIsNotNull() {
            addCriterion("OAUTHSTATE is not null");
            return (Criteria) this;
        }

        public Criteria andOauthstateEqualTo(String value) {
            addCriterion("OAUTHSTATE =", value, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateNotEqualTo(String value) {
            addCriterion("OAUTHSTATE <>", value, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateGreaterThan(String value) {
            addCriterion("OAUTHSTATE >", value, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateGreaterThanOrEqualTo(String value) {
            addCriterion("OAUTHSTATE >=", value, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateLessThan(String value) {
            addCriterion("OAUTHSTATE <", value, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateLessThanOrEqualTo(String value) {
            addCriterion("OAUTHSTATE <=", value, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateLike(String value) {
            addCriterion("OAUTHSTATE like", value, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateNotLike(String value) {
            addCriterion("OAUTHSTATE not like", value, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateIn(List<String> values) {
            addCriterion("OAUTHSTATE in", values, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateNotIn(List<String> values) {
            addCriterion("OAUTHSTATE not in", values, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateBetween(String value1, String value2) {
            addCriterion("OAUTHSTATE between", value1, value2, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andOauthstateNotBetween(String value1, String value2) {
            addCriterion("OAUTHSTATE not between", value1, value2, "oauthstate");
            return (Criteria) this;
        }

        public Criteria andPUserIdIsNull() {
            addCriterion("P_USER_ID is null");
            return (Criteria) this;
        }

        public Criteria andPUserIdIsNotNull() {
            addCriterion("P_USER_ID is not null");
            return (Criteria) this;
        }

        public Criteria andPUserIdEqualTo(String value) {
            addCriterion("P_USER_ID =", value, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdNotEqualTo(String value) {
            addCriterion("P_USER_ID <>", value, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdGreaterThan(String value) {
            addCriterion("P_USER_ID >", value, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("P_USER_ID >=", value, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdLessThan(String value) {
            addCriterion("P_USER_ID <", value, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdLessThanOrEqualTo(String value) {
            addCriterion("P_USER_ID <=", value, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdLike(String value) {
            addCriterion("P_USER_ID like", value, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdNotLike(String value) {
            addCriterion("P_USER_ID not like", value, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdIn(List<String> values) {
            addCriterion("P_USER_ID in", values, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdNotIn(List<String> values) {
            addCriterion("P_USER_ID not in", values, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdBetween(String value1, String value2) {
            addCriterion("P_USER_ID between", value1, value2, "pUserId");
            return (Criteria) this;
        }

        public Criteria andPUserIdNotBetween(String value1, String value2) {
            addCriterion("P_USER_ID not between", value1, value2, "pUserId");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlIsNull() {
            addCriterion("CARDBACK_URL is null");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlIsNotNull() {
            addCriterion("CARDBACK_URL is not null");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlEqualTo(String value) {
            addCriterion("CARDBACK_URL =", value, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlNotEqualTo(String value) {
            addCriterion("CARDBACK_URL <>", value, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlGreaterThan(String value) {
            addCriterion("CARDBACK_URL >", value, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlGreaterThanOrEqualTo(String value) {
            addCriterion("CARDBACK_URL >=", value, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlLessThan(String value) {
            addCriterion("CARDBACK_URL <", value, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlLessThanOrEqualTo(String value) {
            addCriterion("CARDBACK_URL <=", value, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlLike(String value) {
            addCriterion("CARDBACK_URL like", value, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlNotLike(String value) {
            addCriterion("CARDBACK_URL not like", value, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlIn(List<String> values) {
            addCriterion("CARDBACK_URL in", values, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlNotIn(List<String> values) {
            addCriterion("CARDBACK_URL not in", values, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlBetween(String value1, String value2) {
            addCriterion("CARDBACK_URL between", value1, value2, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andCardbackUrlNotBetween(String value1, String value2) {
            addCriterion("CARDBACK_URL not between", value1, value2, "cardbackUrl");
            return (Criteria) this;
        }

        public Criteria andNationIsNull() {
            addCriterion("NATION is null");
            return (Criteria) this;
        }

        public Criteria andNationIsNotNull() {
            addCriterion("NATION is not null");
            return (Criteria) this;
        }

        public Criteria andNationEqualTo(String value) {
            addCriterion("NATION =", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationNotEqualTo(String value) {
            addCriterion("NATION <>", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationGreaterThan(String value) {
            addCriterion("NATION >", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationGreaterThanOrEqualTo(String value) {
            addCriterion("NATION >=", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationLessThan(String value) {
            addCriterion("NATION <", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationLessThanOrEqualTo(String value) {
            addCriterion("NATION <=", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationLike(String value) {
            addCriterion("NATION like", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationNotLike(String value) {
            addCriterion("NATION not like", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationIn(List<String> values) {
            addCriterion("NATION in", values, "nation");
            return (Criteria) this;
        }

        public Criteria andNationNotIn(List<String> values) {
            addCriterion("NATION not in", values, "nation");
            return (Criteria) this;
        }

        public Criteria andNationBetween(String value1, String value2) {
            addCriterion("NATION between", value1, value2, "nation");
            return (Criteria) this;
        }

        public Criteria andNationNotBetween(String value1, String value2) {
            addCriterion("NATION not between", value1, value2, "nation");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("ADDRESS is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("ADDRESS is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("ADDRESS =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("ADDRESS <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("ADDRESS >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("ADDRESS >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("ADDRESS <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("ADDRESS <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("ADDRESS like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("ADDRESS not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("ADDRESS in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("ADDRESS not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("ADDRESS between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("ADDRESS not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andCertificateIsNull() {
            addCriterion("CERTIFICATE is null");
            return (Criteria) this;
        }

        public Criteria andCertificateIsNotNull() {
            addCriterion("CERTIFICATE is not null");
            return (Criteria) this;
        }

        public Criteria andCertificateEqualTo(String value) {
            addCriterion("CERTIFICATE =", value, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateNotEqualTo(String value) {
            addCriterion("CERTIFICATE <>", value, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateGreaterThan(String value) {
            addCriterion("CERTIFICATE >", value, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateGreaterThanOrEqualTo(String value) {
            addCriterion("CERTIFICATE >=", value, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateLessThan(String value) {
            addCriterion("CERTIFICATE <", value, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateLessThanOrEqualTo(String value) {
            addCriterion("CERTIFICATE <=", value, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateLike(String value) {
            addCriterion("CERTIFICATE like", value, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateNotLike(String value) {
            addCriterion("CERTIFICATE not like", value, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateIn(List<String> values) {
            addCriterion("CERTIFICATE in", values, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateNotIn(List<String> values) {
            addCriterion("CERTIFICATE not in", values, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateBetween(String value1, String value2) {
            addCriterion("CERTIFICATE between", value1, value2, "certificate");
            return (Criteria) this;
        }

        public Criteria andCertificateNotBetween(String value1, String value2) {
            addCriterion("CERTIFICATE not between", value1, value2, "certificate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateIsNull() {
            addCriterion("EXPIRATION_DATE is null");
            return (Criteria) this;
        }

        public Criteria andExpirationDateIsNotNull() {
            addCriterion("EXPIRATION_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andExpirationDateEqualTo(String value) {
            addCriterion("EXPIRATION_DATE =", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateNotEqualTo(String value) {
            addCriterion("EXPIRATION_DATE <>", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateGreaterThan(String value) {
            addCriterion("EXPIRATION_DATE >", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateGreaterThanOrEqualTo(String value) {
            addCriterion("EXPIRATION_DATE >=", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateLessThan(String value) {
            addCriterion("EXPIRATION_DATE <", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateLessThanOrEqualTo(String value) {
            addCriterion("EXPIRATION_DATE <=", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateLike(String value) {
            addCriterion("EXPIRATION_DATE like", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateNotLike(String value) {
            addCriterion("EXPIRATION_DATE not like", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateIn(List<String> values) {
            addCriterion("EXPIRATION_DATE in", values, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateNotIn(List<String> values) {
            addCriterion("EXPIRATION_DATE not in", values, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateBetween(String value1, String value2) {
            addCriterion("EXPIRATION_DATE between", value1, value2, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateNotBetween(String value1, String value2) {
            addCriterion("EXPIRATION_DATE not between", value1, value2, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlIsNull() {
            addCriterion("CARDFRONT_URL is null");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlIsNotNull() {
            addCriterion("CARDFRONT_URL is not null");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlEqualTo(String value) {
            addCriterion("CARDFRONT_URL =", value, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlNotEqualTo(String value) {
            addCriterion("CARDFRONT_URL <>", value, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlGreaterThan(String value) {
            addCriterion("CARDFRONT_URL >", value, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlGreaterThanOrEqualTo(String value) {
            addCriterion("CARDFRONT_URL >=", value, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlLessThan(String value) {
            addCriterion("CARDFRONT_URL <", value, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlLessThanOrEqualTo(String value) {
            addCriterion("CARDFRONT_URL <=", value, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlLike(String value) {
            addCriterion("CARDFRONT_URL like", value, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlNotLike(String value) {
            addCriterion("CARDFRONT_URL not like", value, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlIn(List<String> values) {
            addCriterion("CARDFRONT_URL in", values, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlNotIn(List<String> values) {
            addCriterion("CARDFRONT_URL not in", values, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlBetween(String value1, String value2) {
            addCriterion("CARDFRONT_URL between", value1, value2, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andCardfrontUrlNotBetween(String value1, String value2) {
            addCriterion("CARDFRONT_URL not between", value1, value2, "cardfrontUrl");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("NAME is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("NAME is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("NAME =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("NAME <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("NAME >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("NAME >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("NAME <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("NAME <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("NAME like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("NAME not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("NAME in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("NAME not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("NAME between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("NAME not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andSexIsNull() {
            addCriterion("SEX is null");
            return (Criteria) this;
        }

        public Criteria andSexIsNotNull() {
            addCriterion("SEX is not null");
            return (Criteria) this;
        }

        public Criteria andSexEqualTo(String value) {
            addCriterion("SEX =", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotEqualTo(String value) {
            addCriterion("SEX <>", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThan(String value) {
            addCriterion("SEX >", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThanOrEqualTo(String value) {
            addCriterion("SEX >=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThan(String value) {
            addCriterion("SEX <", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThanOrEqualTo(String value) {
            addCriterion("SEX <=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLike(String value) {
            addCriterion("SEX like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotLike(String value) {
            addCriterion("SEX not like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexIn(List<String> values) {
            addCriterion("SEX in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotIn(List<String> values) {
            addCriterion("SEX not in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexBetween(String value1, String value2) {
            addCriterion("SEX between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotBetween(String value1, String value2) {
            addCriterion("SEX not between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andBirthdayIsNull() {
            addCriterion("BIRTHDAY is null");
            return (Criteria) this;
        }

        public Criteria andBirthdayIsNotNull() {
            addCriterion("BIRTHDAY is not null");
            return (Criteria) this;
        }

        public Criteria andBirthdayEqualTo(String value) {
            addCriterion("BIRTHDAY =", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotEqualTo(String value) {
            addCriterion("BIRTHDAY <>", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayGreaterThan(String value) {
            addCriterion("BIRTHDAY >", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayGreaterThanOrEqualTo(String value) {
            addCriterion("BIRTHDAY >=", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLessThan(String value) {
            addCriterion("BIRTHDAY <", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLessThanOrEqualTo(String value) {
            addCriterion("BIRTHDAY <=", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLike(String value) {
            addCriterion("BIRTHDAY like", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotLike(String value) {
            addCriterion("BIRTHDAY not like", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayIn(List<String> values) {
            addCriterion("BIRTHDAY in", values, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotIn(List<String> values) {
            addCriterion("BIRTHDAY not in", values, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayBetween(String value1, String value2) {
            addCriterion("BIRTHDAY between", value1, value2, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotBetween(String value1, String value2) {
            addCriterion("BIRTHDAY not between", value1, value2, "birthday");
            return (Criteria) this;
        }

        public Criteria andIdcardIsNull() {
            addCriterion("IDCARD is null");
            return (Criteria) this;
        }

        public Criteria andIdcardIsNotNull() {
            addCriterion("IDCARD is not null");
            return (Criteria) this;
        }

        public Criteria andIdcardEqualTo(String value) {
            addCriterion("IDCARD =", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotEqualTo(String value) {
            addCriterion("IDCARD <>", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardGreaterThan(String value) {
            addCriterion("IDCARD >", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardGreaterThanOrEqualTo(String value) {
            addCriterion("IDCARD >=", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLessThan(String value) {
            addCriterion("IDCARD <", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLessThanOrEqualTo(String value) {
            addCriterion("IDCARD <=", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLike(String value) {
            addCriterion("IDCARD like", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotLike(String value) {
            addCriterion("IDCARD not like", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardIn(List<String> values) {
            addCriterion("IDCARD in", values, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotIn(List<String> values) {
            addCriterion("IDCARD not in", values, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardBetween(String value1, String value2) {
            addCriterion("IDCARD between", value1, value2, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotBetween(String value1, String value2) {
            addCriterion("IDCARD not between", value1, value2, "idcard");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}